Computer network testing and monitoring applications are used to identify and protect computer networks, equipment, and/or software from operational and security-related risks. Distributed testing and/or monitoring applications include multiple remote clients controlled by a central controller. Each remote client is instructed to perform all or a portion of a testing and/or monitoring task, such as detecting or simulating a malicious attack, simulating a load, etc.
The remote clients are controlled and coordinated by the central controller using a message-based approach. According to a message-based approach, the controller sends an instruction message or messages to each remote client for each action, or portion thereof, that the remote client is to perform. The remote clients must provide the controller with a response to each message to validate the success or failure of the request. Some existing systems limit the volume of required messages somewhat by using a multicast protocol from the controller to all remote clients. The controller obtains feedback from the remote clients using a polling scheme. According to a polling scheme, the controller solicits feedback from each client with directed or multicast messages. Protocols for client-controller communications are typically proprietary, increasing the costs of system development. Further, the rate of message exchange between the controller and the remote client may be limited based on the processing capacity of the central controller as well as the capacity of its network access interface.
Practically, limitations on message volume limit the number of remote clients that may be used in distributed testing and monitoring applications. For example, keeping track of the status of multiple remote clients may tax the processing capacity of the central controller, causing it to fall behind and knock the system out of synchronization. Also, control messages for message-based distributed testing and monitoring applications may not easily pass through firewalls, placing additional practical limitations on the usefulness of the systems.